package main

import (
	"fmt"
	"math/rand"
)

// 作业1：打印九九乘法表。如果可以要求间隔均匀。
func multipTable() {
	for i := 1; i < 10; i++ {
		for j := 1; j < 10; j++ {
			if j <= i {
				fmt.Printf("%d*%d=%d\t", j, i, i*j)
				if j == i {
					fmt.Println()
				}
			}
		}
	}
}

// 作业2：随机生成20以内的20个非0正整数，打印出来。对生成的数值，第单数个（不是索引）累加求和，
// 第偶数个累乘求积。打印结果
func randomNum() {
	var num int
	var oddsum int
	var evenpro int = 1
	for i := 0; i < 20; i++ {
		num = rand.Intn(19) + 1
		fmt.Println(num)
		// if num%2 == 0 {
		if i%2 == 0 {
			// fmt.Printf("偶数：%d\n", num)
			evenpro *= num
			// fmt.Printf("乘积：%d\n", oddsum)

		} else {
			oddsum += num
			// fmt.Printf("奇数：%d\n", num)
		}
	}
	fmt.Printf("第偶数乘积：%d\n", evenpro)
	fmt.Printf("第奇数求和：%d\n", oddsum)
}

// 作业3：打印100以内的斐波那契数列
func fiboSequence() {
	var num1 int = 1
	var num2 int = 1
	var sum int
	for i := 1; i < 100; i++ {
		if i <= 2 {
			fmt.Printf("%d\n", num1)
		} else {
			sum = num1 + num2
			if sum < 100 {
				fmt.Printf("%d\n", sum)
				num1, num2 = num2, sum
			} else {
				break
			}
		}
	}
}

func main() {
	// multipTable() // 作业1：打印九九乘法表。如果可以要求间隔均匀。
	// randomNum() // 作业2
	fiboSequence() // 作业3
}

// 随机数中奇偶的判定有问题，奇数个索引是偶数，偶数个索引值是奇数，这个地方很容易误解